Smart media device ecosystem using local data and remote social graph data

ABSTRACT

Techniques associated with a smart media ecosystem using local data and remote social graph data are described, including identifying an account associated with a user based on a detection of a presence of a compatible device, the compatible device being associated with the account in a profile, receiving an input indicating a request for media content, retrieving remote social graph data from a remote database, cross-referencing the remote social graph with profile data being stored locally, the profile data associated with media preferences, updating the profile data with a learned media preference generated by a learning module, selecting targeted media content based on the profile data, and sending a control signal to a media device, the control signal configured to cause the media device to output the targeted media content.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. Non-Provisional patentapplication Ser. No. 13/906,244 filed May 30, 2013, with Attorney DocketNo. ALI-201, and entitled “Smart Media Device Ecosystem Using Local Dataand Remote Social Graph Data,” which is related to co-pending U.S.patent application Ser. No. 13/894,850 filed May 15, 2013, with AttorneyDocket No. ALI-195 and entitled

“Smart Media Device Ecosystem Using Local and Remote Data Sources,”which is incorporated by reference herein in its entirety for allpurposes.

FIELD

The present invention relates generally to electrical and electronichardware, computer software, wired and wireless network communications,and computing devices. More specifically, techniques related to smartmedia device ecosystem using local data and remote social graph data aredescribed.

BACKGROUND

Conventional devices and techniques for providing media content arelimited in a number of ways. Conventional media devices (i.e., mediaplayers, such as speakers, televisions, computers, e-readers,smartphones) typically are not well-suited for selecting targeted mediacontent for a particular user. While some conventional media devices arecapable of operating applications or websites that provide targetedmedia content services, such services typically provide media contentonly on a device capable of downloading or running that media serviceapplication or website. Such applications and websites typically areunable to select or control other media devices in a user's ecosystem ofmedia devices for providing media content. Such applications andwebsites also typically are unable to provide targeted media content toa user's social network, including media devices owned by members of theuser's social network.

Conventional media services and devices also typically do notautomatically select media content in view of environmental orphysiological factors associated with a user. Nor are they typicallyconfigured to identify and cross-reference local data with remote socialgraph data, for example, from one or more third party media services orsocial networking services. Conventional media devices also typicallyare not configured to target media content for a user based on mediapreferences specified by a user across multiple media services andsocial networking services.

Thus, what is needed is a solution for a smart media device ecosystemusing local data and remote social graph data without the limitations ofconventional techniques.

BRIEF DESCRIPTION OF THE DRAWINGS

Various embodiments or examples (“examples”) are disclosed in thefollowing detailed description and the accompanying drawings:

FIG. 1 illustrates an exemplary system of communication betweenseparately located smart media devices;

FIG. 2 illustrates an exemplary smart media device ecosystem associatedwith a user and capable of accessing remote databases;

FIG. 3 illustrates a diagram depicting an exemplary set of remotedatabases storing remote data associated with a user and a user's socialgraphs;

FIG. 4 illustrates an exemplary system of components in a smart mediadevice ecosystem;

FIG. 5A illustrates an exemplary flow for selecting and outputtingtargeted media content;

FIG. 5B illustrates an exemplary flow for sharing targeted media contentwith a remote device; and

FIG. 6 illustrates an exemplary system and platform for implementing asmart media device ecosystem using local and remote data sources.

Although the above-described drawings depict various examples of theinvention, the invention is not limited by the depicted examples. It isto be understood that, in the drawings, like reference numeralsdesignate like structural elements. Also, it is understood that thedrawings are not necessarily to scale.

DETAILED DESCRIPTION

Various embodiments or examples may be implemented in numerous ways,including as a system, a process, an apparatus, a user interface, or aseries of program instructions on a computer readable medium such as acomputer readable storage medium or a computer network where the programinstructions are sent over optical, electronic, or wirelesscommunication links. In general, operations of disclosed processes maybe performed in an arbitrary order, unless otherwise provided in theclaims.

A detailed description of one or more examples is provided below alongwith accompanying figures. The detailed description is provided inconnection with such examples, but is not limited to any particularexample. The scope is limited only by the claims and numerousalternatives, modifications, and equivalents are encompassed. Numerousspecific details are set forth in the following description in order toprovide a thorough understanding. These details are provided for thepurpose of example and the described techniques may be practicedaccording to the claims without some or all of these specific details.For clarity, technical material that is known in the technical fieldsrelated to the examples has not been described in detail to avoidunnecessarily obscuring the description.

In some examples, the described techniques may be implemented as acomputer program or application (“application”) or as a plug-in, module,or sub-component of another application. The described techniques may beimplemented as software, hardware, firmware, circuitry, or a combinationthereof. If implemented as software, then the described techniques maybe implemented using various types of programming, development,scripting, or formatting languages, frameworks, syntax, applications,protocols, objects, or techniques, including ASP, ASP.net, .Netframework, Ruby, Ruby on Rails, C, Objective C, C++, C#, Adobe®Integrated Runtime™ (Adobe® AIR™), ActionScript™, Flex™, Lingo™, Java™,Javascript™, Ajax, Perl, COBOL, Fortran, ADA, XML, MXML, HTML, DHTML,XHTML, HTTP, XMPP, PHP, and others. Software and/or firmwareimplementations may be embodied in a non-transitory computer readablemedium configured for execution by a general purpose computing system orthe like. The described techniques may be varied and are not limited tothe examples or descriptions provided.

FIG. 1 illustrates an exemplary system of communication betweenseparately located smart media devices. Here, system 100 includes users101 and 121, locations 102 and 122, smart media devices 104 and 124,buttons 106 and 126, displays 108 and 128, mobile devices 112 and 132,network 114, remote database 116, computing device 118, user interface120, and wearable device 130. In some examples, smart media device 104may include a media player configured to play (i.e., output audio and/orvideo associated with) media content 110, which may include audiocontent, as shown. In other examples, smart media device 104 may includeone or more different media players configured to play different typesof media content (e.g., audio content, video content, graphic content,textual content, or the like). In some examples, smart media devices 104and 124 may be configured to select targeted media content to be outputby a media device implemented by smart media devices 104 and 124, orother media players (e.g., applications, devices, output mechanisms, andthe like) implemented, for example, by mobile device 112 and 132, orwearable device 130. Examples of smart media devices 104 and 124 aredescribed and disclosed in related, co-pending U.S. patent applicationSer. No. 13/894,850 filed on May 15, 2013, with Attorney Docket No.ALI-195, which is incorporated by reference herein in its entirety forall purposes. In some examples, smart media device 104 may be configuredto detect a presence and proximity of mobile device 112 or othercompatible devices (e.g., devices capable of communicating using acommon protocol, devices having common services, devices having commonoperational capabilities, devices configured to perform same or similarfunctions, or the like), and to identify mobile device 112 as beingassociated with user 101, for example, by referencing a profileassociated with an account belonging to user 101. In some examples,smart media device 104 may be configured to generate and send a controlsignal to mobile device 112 to cause mobile device 112 to play targetedmedia content (e.g., media content 110, or the like).

In some examples, user 101 may indicate a request to smart media device104 for targeted media content (i.e., media content selected for user101 according to user 101's media preferences as generated, accessedand/or stored by smart media device 104 according to local and remotedata). In some examples, such a request may be made by pressing one ormore of buttons 106. For example, pressing one of buttons 106 may bepreprogrammed to indicate a request for targeted media content. In otherexamples, a sequence of button selections may be preprogrammed toindicate a request for targeted media content. In still other examples,such a request may be made using a user interface or applicationimplemented by mobile device 112. For example, mobile device 112 mayoperate an application configured to provide a user interface usingwhich user 101 may indicate a request for targeted media content,causing mobile device 112 to send a signal to smart media device (i.e.,using a short range communication protocol configured for short rangeexchange of data (e.g., Bluetooth®, ultra wideband, NFC, or the like))to select targeted media content for user 101. In some examples, smartmedia device 104 may, in response to said request, retrieve remote datafrom remote database 116 and cross-reference said remote data with localdata, for example, data stored in, or captured by, smart media device104 and mobile device 112. Such local data may include profile dataassociated with an account, and profile data may include mediapreference data generated from historical usage data (e.g., previouslyplayed or viewed media, prior environmental data associated with saidprior consumption of media, previously input media preference data,previously downloaded remote data, and the like) and historicalenvironmental data, for example, as may be analyzed by a learningmodule. In some examples, profile data also may include useridentification data, device identification data (i.e., data identifyingdevices associated with a user), and metadata. In some examples, profilealso may include data indicating devices owned or used by, or otherwiseaccessible to, members of a user's social network. In some examples,local data also may include data from devices in short rangecommunication (e.g., using Bluetooth®, ultra wideband, NFC, or the like)with smart media device 104, for example, mobile device 112. In otherexamples, smart media device 124 may be configured to operate similarlyto smart media device 104, for example, with respect to user 121 andassociated devices (e.g., wearable device 130 and mobile device 132, andthe like) in location 122.

In some examples, user 101 also may indicate a request to smart mediadevice 104 to share targeted media content with a remote device. In someexamples, such a request may be made by pressing one or more of buttons106. For example, pressing one of buttons 106 may be preprogrammed toindicate a request to share targeted media content, or other contentbeing provided, displayed, or played by mobile device 112 or smart mediadevice 104, with a remote device. In other examples, a sequence ofbutton selections may be preprogrammed to indicate a request to sharetargeted media content. In still other examples, such a request may bemade using a user interface or application implemented by mobile device112. For example, mobile device 112 may operate an applicationconfigured to provide a user interface using which user 101 may indicatea request to share targeted media content, causing mobile device 112 tosend a signal to smart media device (i.e., using a short rangecommunication protocol configured for short range exchange of data(e.g., Bluetooth®, ultra wideband, NFC, or the like)) to send dataassociated with said targeted media content to remote database 116,computing device 118, wearable device 130, mobile device 132, smartmedia device 124, or other remote device, for example, using network114. For example, remote database 116 may be configured to store socialnetwork data associated with a social networking service (e.g.,Facebook®, Twitter®, LinkedIn®, Yelp®, Google+®, Instagram®, and thelike), or media data associated with a media service (e.g., Pandora®,Spotify®, Rdio®, Last.fm®, Hulu®, Netflix®, and the like), of which user101 is a member, or other social graph data associated with user 101. Inthis example, smart media device 104 may be configured to send targetedmedia content data to remote database 116 for storage and publication ofsaid targeted media content data. In another example, such targetedmedia content data may be sent to computing device 118, which may beimplemented as a laptop, a computer, a server, or other computingdevice. In some examples, computing device 118 may be configured toprovide user interface 120 (e.g., using a display, touchscreen, inputdevices (e.g., keyboard, keypad, touchpad, mouse, or the like), one ormore buttons, and the like), wherein information associated with saidtargeted media content data may be shared or presented (e.g., on asocial networking website, media services website, or the like). In someexamples, computing device 118 may process said targeted media contentdata, and publish information using user interface 120. For example,user 101 may indicate, using one or more of buttons 106 or anapplication implemented by mobile device 112, a request to share mediacontent 110 with a social network or media service to which user 101 isa member. In this example, computing device 118 may process targetedmedia content data associated with media content 110 from smart mediadevice 104, and publish information on user interface 120 regarding user101's consumption of media content 110 (e.g., user 101 likes mediacontent 110, user 101 is listening to media content 110, user 101purchased media content 110, user 101 shares media content 110, or thelike). In some examples, said application implemented by mobile device112 may provide options to user 101 regarding sharing with a particularremote device. For example, user 101 may indicate using said applicationa request that media content 110 be shared directly with smart mediadevice 124 for consumption by user 121 in location 122. In this example,display 128 may light up or display a message indicating incoming databeing shared by user 101, or by smart media device 104 belonging to user101. In another example, user 101 may indicate using said application arequest that media content 110, or a notification (e.g., message, lightor other visual notification, vibratory notification, audionotification, or the like) associated with media content 110, be sharedwith mobile device 132 using a text message, email, push notification,vibration, or the like. In still another example, user 101 may indicateusing said application a request that media content 110, or anotification associated with media content 110, be shared with wearabledevice 130. In other examples, targeted media content for user 121 inlocation 122 may be shared by smart media device 124 with user 101 inlocation 102 using smart media device 104, or published using a socialnetworking website, media services website, or other third partywebsite, using computing device 118 and user interface 120. In stillother examples, the quantity, type, function, structure, andconfiguration of the elements shown may be varied and are not limited tothe examples provided.

In some examples, wearable device 130 may be configured to be worn orcarried. In some examples, wearable device 130 may be implemented as adata-capable strapband, as described in co-pending U.S. patentapplication Ser. No. 13/158,372, co-pending U.S. patent application Ser.No. 13/180,320, co-pending U.S. patent application Ser. No. 13/492,857,and co-pending U.S. patent application Ser. No. 13/181,495, all of whichare herein incorporated by reference in their entirety for all purposes.In some examples, wearable device 130 may include one or more sensors(i.e., a sensor array) configured to collect local sensor data. Saidsensor array may include, without limitation, an accelerometer, analtimeter/barometer, a light/infrared (“IR”) sensor, a pulse/heart rate(“HR”) monitor, an audio sensor (e.g., microphone, transducer, orothers), a pedometer, a velocimeter, a global positioning system (GPS)receiver, a location-based service sensor (e.g., sensor for determininglocation within a cellular or micro-cellular network, which may or maynot use GPS or other satellite constellations for fixing a position), amotion detection sensor, an environmental sensor, a chemical sensor, anelectrical sensor, or mechanical sensor, and the like, installed,integrated, or otherwise implemented on wearable device 104. In otherexamples, wearable device 104 also may capture data from distributedsources (e.g., by communicating with mobile computing devices, mobilecommunications devices, computers, laptops, distributed sensors, GPSsatellites, or the like) for processing with sensor data. In still otherexamples, the quantity, type, function, structure, and configuration ofthe elements shown may be varied and are not limited to the examplesprovided.

In some examples, displays 108 and 128 may be implemented as a lightpanel using a variety of available display technologies, includinglights, light-emitting diodes (LEDs), interferometric modulator display(IMOD), electrophoretic ink (E Ink), organic light-emitting diode(OLED), or the like, without limitation. In other examples, displays 108and 128 may be implemented as a touchscreen, another type of interactivescreen, a video display, or the like. In some examples, smart mediadevices 104 and 124 may include software, hardware, firmware, or othercircuitry (not shown), configured to implement a program (i.e.,application) configured to cause control signals to be sent to displays108 and 128, for example, to cause displays 108 and 128 to present alight pattern, a graphic or symbol (e.g., associated with battery life,communication capabilities, or the like), a message or other text (e.g.,a notification, information regarding audio being played, informationregarding characteristics of smart media device 104 and 124, or thelike), a video, or the like.

In some examples, buttons 106 and 126 may be configured to executecontrol functions associated with smart media devices 104 and 124,respectively, including, without limitation, to turn smart media devices104 and 124 on or off, adjust a volume, set an alarm, requestinformation associated with smart media devices 104 and 124 (e.g.,regarding battery life, communication protocol capabilities, or thelike), provide a response to a prompt from smart media devices 104 and124, or the like.

In some examples, mobile devices 112 and 132 may be implemented as asmartphone, a tablet, or other mobile communication or mobile computingdevice. In some examples, mobile devices 112 and 132 may include,without limitation, a touchscreen, a display, one or more buttons, orother user interface capabilities. In some examples, mobile devices 112and 132 also may be implemented with various audio and visual/videooutput capabilities (e.g., speakers, video display, graphic display, andthe like). In some examples, mobile devices 112 and 132 may beconfigured to operate various types of applications associated withmedia, social networking, phone calls, video conferencing, calendars,games, data communications, and the like. For example, mobile devices112 and 132 may be implemented as a media device configured to store,access and play media content.

In some examples, wearable device 130 and/or mobile devices 112 and 132may be configured to provide sensor data, including environmental andphysiological data, to smart media devices 104 and 124. In someexamples, wearable device 130 and/or mobile devices 112 and 132 also maybe configured to provide derived data generated by processing the sensordata using one or more algorithms to determine, for example, advancedenvironmental data (e.g., whether a location is favored or frequented,whether a location is indoor or outdoor, home or office, public orprivate, whether other people are present, whether other compatibledevices are present, weather, location-related services (e.g., stores,landmarks, restaurants, and the like), air quality, news, and the like)from said environmental data, and activity, mood, behavior, medicalcondition and the like from physiological data. In some examples, smartmedia devices 104 and 124 may be configured to cross-correlate (i.e.,cross-reference) said sensor data and said derived data with other localdata, as well as remote data (e.g., social, demographic, geographic, orother third-party proprietary or public media data from remote sources)to select targeted media content for smart media devices 104 and 124, orother media player, to play or display. In some examples, smart mediadevices 104 and 124 may select media content from a local source, aremote source, or both. In other examples, the quantity, type, function,structure, and configuration of the elements shown may be varied and arenot limited to the examples provided.

FIG. 2 illustrates an exemplary smart media device ecosystem associatedwith a user and capable of accessing remote databases. Here, system 200includes user 201, mobile device 202, wearable device 204, computingdevice 206, smart media device 208, network 210, servers 212-216, socialnetwork database 218, media services database 220, and miscellaneousapplication database 222. Like-numbered and named elements may describethe same or substantially similar elements as those shown in otherdescriptions. In some examples, mobile device 202, wearable device 204,computing device 206 and smart media device 208 may be identified, forexample using an account profile stored in smart media device 208, or ina different profile stored on one or more other devices, as beingassociated with user 201. For example, each of mobile device 202,wearable device 204, computing device 206 and smart media device 208,may be registered to (i.e., identified, for example, using a mediaaccess control (“MAC”) address, internet protocol (“IP”) address, orother device identification, as belonging to, or primarily used by) user201 with one or more third party entities (e.g., manufacturers, serviceproviders or other third parties). In other examples, one or more ofmobile device 202, wearable device 204, computing device 206 and smartmedia device 208 may be identified, for example, in an account profile,as being associated with another user (e.g., a user associated with user201 through a social networking service account, a user associated withuser 201 through a media service account, a user associated with user201 through a different social graph, or the like).

In some examples, mobile device 202, wearable device 204, computingdevice 206 and smart media device 208, each may be configured toexchange data (e.g., request data from, receive responses from, receivepushed data, and the like) with servers 212-216, and thereby obtain(i.e., retrieve) and receive social network data 224 from social networkdatabase 218, media services data 226 from media services database 220,remote application data 228 from miscellaneous application database 222,as well as other remote data from remote devices. In some examples,social network database 218 may be owned, used and/or operated by asocial networking service (e.g., Facebook®, Twitter®, LinkedIn®, Yelp®,Google+®, Instagram®, and the like). In some examples, social networkdata 224 may include data associated with a social network accountassociated with (e.g., registered to, used by, identified with, or thelike) user 201 (e.g., media information shared by user 302 and mediainformation shared by user's social network 304 in FIG. 3, or the like).In some examples, media services database 220 may be owned, used and/oroperated by a media service (e.g., Pandora®, Spotify®, Rdio®, Last.fm®,Hulu®, Netflix®, and the like). In some examples, media services data226 may include data associated with a media service account associatedwith user 201 (e.g., media information about user 306 and mediainformation about social graphs related to user 308 in FIG. 3, or thelike). In some examples, miscellaneous application database 222 may beowned, used and/or operated by a third party entity responsible forcreating, operating, providing, or otherwise managing data associatedwith, an application installed, or being used, by one or more of mobiledevice 202, wearable device 204, computing device 206 and smart mediadevice 208. In some examples, application data 228 may include dataassociated with said application (e.g., a calendar application, e-mailapplication, gaming application, financial services application, newsapplication, publishing application, media playing application,travel-related application, web browser application, other mobile or webapplications, or the like). In some examples, mobile device 202,wearable device 204, computing device 206 and smart media device 208 maybe configured to retrieve and receive remote data from remote devicesusing network 210 and long range communication protocols (e.g.,satellite, mobile broadband, global positioning system (GPS), IEEE802.11a/b/g/n (WiFi), and the like). In some examples, mobile device202, wearable device 204, computing device 206 and smart media device208, each also may be configured to exchange data with each other, usingeither or both long range communication protocols and short rangecommunication protocols. In other examples, the quantity, type,function, structure, and configuration of the elements shown may bevaried and are not limited to the examples provided.

FIG. 3 illustrates a diagram depicting an exemplary set of remotedatabases storing remote data associated with a user and a user's socialgraphs. Here, diagram 300 includes social network database 218, mediaservices database 220, miscellaneous application database 222, socialnetwork data 224, media services data 226 and application data 228.Like-numbered and named elements may describe the same or substantiallysimilar elements as those shown in other descriptions. In some examples,social network data 224 may include media information shared by a user(302), for example, using a social networking service (e.g., using anapplication, website, and the like) with members of said user's socialnetwork. Examples of a user may include users 101 and 121 in FIG. 1,user 201 in FIG. 2, or the like. In some examples, media informationshared by a user (302) may include, without limitation, media (e.g.,songs, playlists, audio books, or the like) being listened to by saiduser, media (e.g., videos, movies, or the like) being watched by saiduser, media (e.g., songs, videos, articles, books, or the like)purchased by said user, media (e.g., songs, videos, articles, books, orthe like) liked, or otherwise preferred, by said user, media (e.g.,songs, videos, articles, books, or the like) shared by said user, media(e.g., videos, articles, books, movies, or the like) reviewed or ratedby said user, media services used, or subscribed to, by said user, andthe like. In some examples, social network data 224 also may includemedia information shared by a member of a user's social network (304),for example using, said social networking service. In some examples,media information shared by a member of a user's social network (304)may include, without limitation, media (e.g., songs, playlists, audiobooks, or the like) being listened to by said member, media (e.g.,videos, movies, or the like) being watched by said member, media (e.g.,songs, videos, articles, books, or the like) purchased by said member,media (e.g., songs, videos, articles, books, or the like) liked, orotherwise preferred, by said member, media (e.g., songs, videos,articles, books, or the like) shared by said member, media (e.g.,videos, articles, books, movies, or the like) reviewed or rated by saidmember, media services used, or subscribed to, by said member, and thelike. In some examples, social network data 224 may include mediainformation shared by more than one member of a user's social network,and may associate a set of media information with each member, or withgroups of members, for example, identified by a user or by a socialnetworking service based on stated relationships between a user andother members of the social networking service (e.g., user's immediatefamily, user's extended family, user's college friends, user'scoworkers, user's acquaintances, user's professional connections, user'ssports team, user's hobby team, user's followers, members followed byuser, or the like). In some examples, social network data 224 also mayassociate a weight, priority, or importance with a member, or group ofmembers, in a user's social network. In other examples, social networkdata 224 may include other information, and is not limited to theexamples provided.

In some examples, media services data 226 may include media informationabout a user (306), for example, information associated with a user'sconsumption of media content using a media service. In some examples,media information about a user (306) may include, without limitation, auser's preferred type(s) of media (e.g., television shows, movies,online content, music, music videos, audio books, or the like), a user'spreferred genre(s) (e.g., drama, comedy, romantic comedy, horror, dancemusic, classical music, classic rock, alternative, jazz, or the like), auser's playlist(s), a user's preferred station(s) (e.g., by artist,music genre, movie genre, media type, or the like), a user's purchasedor selected media (e.g., a song, a movie, media by an artist, atelevision show, an episode, media by an actor, media by a director, orthe like). In some examples, media services data 226 also may includemedia information about social graphs related to a user (308). Suchsocial graphs may include a demographic to which a user belongs, apsychographic profile associated with a user, a geographic areaassociated with a user, or other target group to which a user may beassociated. In some examples, media information about social graphsrelated to a user (308) may include, without limitation, a preferredgenre associated with (e.g., purchased by, shared by, consumed by, likedby, preferred by, or otherwise noted or chosen by) a demographic,psychographic, geographic, group, or other target group, a preferredtype of media associated with a demographic, psychographic, geographic,group, or other target group, a preferred station associated with ademographic, psychographic, geographic, group, or other target group,popular media content associated with a demographic, psychographic,geographic, group, or other target group. In other examples, mediaservices data 226 may include other information, and is not limited tothe examples provided.

In some examples, application data 228 may include a user's applicationsinformation (310). In some examples a user's applications information(310) may include data related to, without limitation, calendar events,emails (e.g., calendar email notices, event reminders, deadlinereminders, invitation reminders, other date and time notifications, forexample, as may be received from various third party applications, andthe like), instant messages, application notifications (e.g., pushnotifications from games, sports applications, weather applications,financial services applications, media services applications, videoconferencing applications, other communications applications, and thelike), or other miscellaneous application notifications. In otherexamples, application data 228 may include other information, and is notlimited to the examples provided. In some examples, an application maybe operated by a third party entity, which may store such applicationdata 228 remotely (as shown in FIG. 2). In other examples, the quantity,type, function, structure, and configuration of the elements shown maybe varied and are not limited to the examples provided.

FIG. 4 illustrates an exemplary system of components in a smart mediadevice ecosystem. Here, system 400 includes smart media device 430,which may include data interface 402, learning module 404, accountprofile generator 406, media content module 408, storage 410 andcommunication facility 412. In other examples, storage 410 may beimplemented separately (not shown), and may be in data communicationwith smart media device 430, through either a wired or wirelessconnection. In some examples, storage 410 may store data relevant tovarious modules in smart media device 430, including learning module404, account profile generator 406 and media content module 408. In someexamples, data interface 402 may be configured to receive and send dataassociated with functions provided by various modules in smart mediadevice 430. In some examples, data interface 402 may be configured toretrieve, receive and provide to other components in system 400 varioustypes of remote data from remote databases, including media service data418 (e.g., from media services database 220 in FIGS. 2-3, or the like),social network data 420 (e.g., from social network database 218 in FIGS.2-3, or the like), and other application data 422 (e.g., frommiscellaneous application database 222 in FIGS. 2-3, or the like).

In some examples, learning module 404 may be configured to implementlearning algorithm 414, which may be configured to learn media tastesand preferences of a user or group of users using local data and remotesocial graph data (e.g., media service data 418, social network data420, other application data 422, and the like), and to generate learnedmedia preference data from said local and remote data. In some examples,learning algorithm 414 may use local environmental and behavioral data(i.e., sensor data), stored profile data, including media preferencedata, and remote social graph data, to generate updated profile data,including updated media preference data pertaining to learned mediatastes and preferences, both general (e.g., genres, types, styles, mediaservices, social networks, and the like) and specific (e.g., identifiedplaylists, songs, movies, videos, articles, books, advertisements andother media content, as well as environments associated highly,positively, or otherwise, with said identified media content).

In some examples, account profile generator 406 may be configured tocreate accounts and account profiles to identify individual users oruser groups and to associate the users and user groups with mediapreference data (e.g., learned tastes and preferences, favored orfrequented environments, correlations between media content consumptionand an environment, or the like). In some examples, an account may beassociated with an individual user. In other examples, an account may beassociated with a user group, including, without limitation, a family, ahousehold, a household member's social network, or other social graphs.In some examples, account data (e.g., user identification data, deviceidentification data, metadata, and the like) and media preference datamay be stored in one or more profiles associated with an account (e.g.,using storage 410 or the like).

In some examples, media content module 408 may be configured to selecttargeted media content using data from various sources, includingaccount profiles, other stored data, sensor data, remote social graphdata, other remote data, and the like. In some examples, media contentmodule 408 may implement media selection algorithm 416 to selecttargeted media content based on media preference data, for example,stored in storage 410 in association with a profile generated andupdated by account profile generator 406. In some examples, mediaselection algorithm 416 may select targeted media content to play,display, or otherwise provide, to a user, from media content stored bothlocally and remotely. In some examples, media content module 408 may beconfigured to generate control signal data to cause a media device(e.g., audio device 424, audio/video device 426, mobile device 428, orthe like) to play, display, or otherwise provide targeted media content.Said control signal data may be sent to said media device usingcommunication facility 412. In some examples, communication facility 412may be configured to exchange data between one or more components ofsmart media device 430, and other devices implemented separately fromsmart media device 430, using wired or wireless connections, and usingshort range communication protocols and/or long range communicationprotocols. As used herein, “facility” refers to any, some, or all of thefeatures and structures that are used to implement a given set offunctions. In some examples, audio device 424 may be configured tooutput audio. In some examples, audio/video device 426 may be configuredto output audio and video. In some examples, mobile device 428 may beimplemented with various audio and visual/video output capabilities(e.g., speakers, video display, graphic display, and the like), and maybe configured to operate various types of applications associated withmedia, social networking, phone calls, video conferencing, calendars,games, data communications, and the like. In other examples, thequantity, type, function, structure, and configuration of the elementsshown may be varied and are not limited to the examples provided.

FIG. 5A illustrates an exemplary flow for selecting and outputtingtargeted media content. Here, flow 500 begins with identifying anaccount associated with a user based on a detection of a presence of acompatible device, the compatible device being associated with theaccount in a profile (502). Once an account is identified, an input maybe received indicating a request for media content (504). In someexamples, the input may be received using one or more buttonsimplemented on a smart media device, or using an application or userinterface implemented on a mobile device, as described herein. Once arequest is received (i.e., by the input), remote social graph data froma remote database may be retrieved, the remote social graph dataindicating a media preference (506). Then, the remote social graph datamay be cross-referenced with profile data being stored locally, theprofile data associated with one or more media preferences (508). Insome examples, said cross-referencing may be performed by a learningmodule implemented in a smart media device. The profile data may then beupdated with a learned media preference generated by the learning module(510), for example, through said cross-referencing of remote socialgraph data with local data. In some examples, said profile data may beupdated by a profile generator implemented in the smart media device.Then, targeted media content may be selected based on the profile data(512), for example, as updated by the profile generated with the learnedmedia preference. In some examples, said selection may be performed by amedia content module implemented in the smart media device. In someexamples, a smart media device may then send a control signal to a mediadevice, the control signal configured to cause the media device tooutput the targeted media content (514). In some examples, the mediadevice may be implemented in or by said smart media device. In otherexamples, the media device may be implemented separately (e.g., by aseparate audio/video device, mobile device, or the like, as describedherein). In still other examples, the above-described process may bevaried in steps, order, function, processes, or other aspects, and isnot limited to those shown and described.

FIG. 5B illustrates an exemplary flow for sharing targeted media contentwith a remote device. Here, flow 520 may begin with selecting targetedmedia content based on profile data associated with an account (522). Insome examples, said selection of targeted media content may be performedby a media content module implemented in a smart media device. Once atargeted media content is selected, a control signal may be sent to amedia device, the control signal configured to cause the media device tooutput the targeted media content (524). An input may be received by thesmart media device, the input indicating a request to share the targetedmedia content with a remote device (526). The smart media device thenmay generate data configured to cause a notification to be shared with amember of a social network associated with the account (528). The smartmedia device also may send, by a communications facility implemented bythe smart media device, the data to a remote server (530). In someexamples, said remote server may include a database configured to storesocial network data, media services data and/or application data, asdescribed herein. In still other examples, the above-described processmay be varied in steps, order, function, processes, or other aspects,and is not limited to those shown and described.

FIG. 6 illustrates an exemplary system and platform for implementing asmart media device ecosystem using local and remote data sources. Insome examples, computing platform 600 may be used to implement computerprograms, applications, methods, processes, algorithms, or othersoftware to perform the above-described techniques. Computing platform600 includes a bus 602 or other communication mechanism forcommunicating information, which interconnects subsystems and devices,such as processor 604, system memory 606 (e.g., RAM, etc.), storagedevice 608 (e.g., ROM, etc.), a communication interface 613 (e.g., anEthernet or wireless controller, a Bluetooth controller, etc.) tofacilitate communications via a port on communication link 621 tocommunicate, for example, with a computing device, including mobilecomputing and/or communication devices with processors. Processor 604can be implemented with one or more central processing units (“CPUs”),such as those manufactured by Intel® Corporation, or one or more virtualprocessors, as well as any combination of CPUs and virtual processors.Computing platform 600 exchanges data representing inputs and outputsvia input-and-output devices 601, including, but not limited to,keyboards, mice, audio inputs (e.g., speech-to-text devices), userinterfaces, LCD or LED or other displays, monitors, cursors,touch-sensitive displays, speakers, media players and other I/O-relateddevices.

According to some examples, computing platform 600 performs specificoperations by processor 604 executing one or more sequences of one ormore instructions stored in system memory 606, and computing platform600 can be implemented in a client-server arrangement, peer-to-peerarrangement, or as any mobile computing device, including smart phonesand the like. Such instructions or data may be read into system memory606 from another computer readable medium, such as storage device 608.In some examples, hard-wired circuitry may be used in place of or incombination with software instructions for implementation. Instructionsmay be embedded in software or firmware. The term “computer readablemedium” refers to any non-transitory medium that participates inproviding instructions to processor 604 for execution. Such a medium maytake many forms, including but not limited to, non-volatile media andvolatile media. Non-volatile media includes, for example, optical ormagnetic disks and the like. Volatile media includes dynamic memory,such as system memory 606.

Common forms of computer readable media includes, for example, floppydisk, flexible disk, hard disk, magnetic tape, any other magneticmedium, CD-ROM, any other optical medium, punch cards, paper tape, anyother physical medium with patterns of holes, RAM, PROM, EPROM,FLASH-EPROM, any other memory chip or cartridge, or any other mediumfrom which a computer can read. Instructions may further be transmittedor received using a transmission medium. The term “transmission medium”may include any tangible or intangible medium that is capable ofstoring, encoding or carrying instructions for execution by the machine,and includes digital or analog communications signals or otherintangible medium to facilitate communication of such instructions.Transmission media includes coaxial cables, copper wire, and fiberoptics, including wires that comprise bus 602 for transmitting acomputer data signal.

In some examples, execution of the sequences of instructions may beperformed by computing platform 600. According to some examples,computing platform 600 can be coupled by communication link 621 (e.g., awired network, such as LAN, PSTN, or any wireless network) to any otherprocessor to perform the sequence of instructions in coordination with(or asynchronous to) one another. Computing platform 600 may transmitand receive messages, data, and instructions, including program code(e.g., application code) through communication link 621 andcommunication interface 613. Received program code may be executed byprocessor 604 as it is received, and/or stored in memory 606 or othernon-volatile storage for later execution.

In the example shown, system memory 606 can include various modules thatinclude executable instructions to implement functionalities describedherein. In the example shown, system memory 606 includes accountprofiles module 610 configured to create and modify (i.e., update)profiles, as described herein. System memory 606 also may includelearning module 612, which may be configured to learn media tastes andpreferences of one or more users, as described herein. System memory 606also may include media content module 614, which may be configured toselect targeted media content, as described herein.

In some embodiments, various devices described herein may communicate(e.g., wired or wirelessly) with each other, or with other compatibledevices, using computing platform 600. As depicted in FIGS. 1-4 herein,the structures and/or functions of any of the above-described featurescan be implemented in software, hardware, firmware, circuitry, or anycombination thereof. Note that the structures and constituent elementsabove, as well as their functionality, may be aggregated or combinedwith one or more other structures or elements. Alternatively, theelements and their functionality may be subdivided into constituentsub-elements, if any. As software, at least some of the above-describedtechniques may be implemented using various types of programming orformatting languages, frameworks, syntax, applications, protocols,objects, or techniques. For example, at least one of the elementsdepicted in FIGS. 1-4 can represent one or more algorithms. Or, at leastone of the elements can represent a portion of logic including a portionof hardware configured to provide constituent structures and/orfunctionalities.

As hardware and/or firmware, the above-described structures andtechniques can be implemented using various types of programming orintegrated circuit design languages, including hardware descriptionlanguages, such as any register transfer language (“RTL”) configured todesign field-programmable gate arrays (“FPGAs”), application-specificintegrated circuits (“ASICs”), multi-chip modules, or any other type ofintegrated circuit. For example, smart media devices 104, 124, 208 and430, including one or more components, can be implemented in one or morecomputing devices that include one or more circuits. Thus, at least oneof the elements in FIGS. 1-4 can represent one or more components ofhardware. Or, at least one of the elements can represent a portion oflogic including a portion of circuit configured to provide constituentstructures and/or functionalities.

According to some embodiments, the term “circuit” can refer, forexample, to any system including a number of components through whichcurrent flows to perform one or more functions, the components includingdiscrete and complex components. Examples of discrete components includetransistors, resistors, capacitors, inductors, diodes, and the like, andexamples of complex components include memory, processors, analogcircuits, digital circuits, and the like, including field-programmablegate arrays (“FPGAs”), application-specific integrated circuits(“ASICs”). Therefore, a circuit can include a system of electroniccomponents and logic components (e.g., logic configured to executeinstructions, such that a group of executable instructions of analgorithm, for example, and, thus, is a component of a circuit).According to some embodiments, the term “module” can refer, for example,to an algorithm or a portion thereof, and/or logic implemented in eitherhardware circuitry or software, or a combination thereof (i.e., a modulecan be implemented as a circuit). In some embodiments, algorithms and/orthe memory in which the algorithms are stored are “components” of acircuit. Thus, the term “circuit” can also refer, for example, to asystem of components, including algorithms. These can be varied and arenot limited to the examples or descriptions provided.

The foregoing description, for purposes of explanation, uses specificnomenclature to provide a thorough understanding of the invention.However, it will be apparent to one skilled in the art that specificdetails are not required in order to practice the invention. In fact,this description should not be read to limit any feature or aspect ofthe present invention to any embodiment; rather features and aspects ofone embodiment can readily be interchanged with other embodiments.Notably, not every benefit described herein need be realized by eachembodiment of the present invention; rather any specific embodiment canprovide one or more of the advantages discussed above. In the claims,elements and/or operations do not imply any particular order ofoperation, unless explicitly stated in the claims. It is intended thatthe following claims and their equivalents define the scope of theinvention. Although the foregoing examples have been described in somedetail for purposes of clarity of understanding, the above-describedinventive techniques are not limited to the details provided. There aremany alternative ways of implementing the above-described inventiontechniques. The disclosed examples are illustrative and not restrictive.

What is claimed is:
 1. A method, comprising: identifying an accountassociated with a user based on a detection of a presence of acompatible device, the compatible device being associated with theaccount in a profile; receiving an input indicating a request for mediacontent; retrieving remote social graph data from a remote database;cross-referencing, by a learning module implemented in a smart mediadevice, the remote social graph data with profile data being storedlocally, the profile data associated with one or more media preferences;updating the profile data, by a profile generator implemented in thesmart media device, with a learned media preference generated by thelearning module; selecting, by a media content module implemented in thesmart media device, targeted media content based on the profile data asupdated by the profile generator with the learned media preference; andsending a control signal to a media device, the control signalconfigured to cause the media device to output the targeted mediacontent.
 2. The method of claim 1, wherein receiving the input comprisesreceiving data from an application installed on the compatible device.3. The method of claim 1, wherein receiving the input comprisesdetecting a button selection, the button selection invokingpreprogrammed data indicating the request for media content.
 4. Themethod of claim 1, wherein receiving the input comprises receivingsensor data associated with an audio command.
 5. The method of claim 1,wherein receiving the input comprises receiving sensor data associatedwith a motion command.
 6. The method of claim 1, wherein retrievingremote social graph comprises obtaining social network data from theremote database.
 7. The method of claim 1, wherein retrieving remotesocial graph comprises obtaining media services data from the remotedatabase.
 8. The method of claim 1, wherein retrieving remote socialgraph comprises obtaining application data from the remote database. 9.The method of claim 1, wherein the targeted media content comprisesaudio content and the control signal is configured to cause the mediadevice to output the audio content.
 10. The method of claim 1, whereinthe targeted media content comprises video content and the controlsignal is configured to cause the media device to output the videocontent.
 11. The method of claim 1, wherein the targeted media contentcomprises graphic content and the control signal is configured to causethe media device to display the graphic content.
 12. The method of claim1, wherein the targeted media content comprises textual content and thecontrol signal is configured to cause the media device to display thetextual content.
 13. A method, comprising: selecting, by a media contentmodule implemented in a smart media device, targeted media content basedon profile data associated with an account; sending a control signal toa media device, the control signal configured to cause the media deviceto provide the targeted media content; receiving an input, by the smartmedia device, the input indicating a request to share the targeted mediacontent with a remote device; generating, by the smart media device,data configured to cause a notification to be shared with a member of asocial network associated with the account; and sending, by acommunications facility implemented by the smart media device, the datato a remote server associated with the social network.
 14. The method ofclaim 13, wherein the notification comprises a publication on a socialnetwork website.
 15. The method of claim 13, wherein the notificationcomprises a message pushed to a mobile device.
 16. The method of claim13, wherein the notification comprises a message pushed to a wearabledevice.
 17. The method of claim 13, wherein the notification comprises amessage pushed to another smart media device.
 18. The method of claim13, wherein the notification comprises a vibration.
 19. The method ofclaim 13, wherein the smart media device is configured to receive remotesocial graph associated with another notification being shared by amember of the social network, the notification associated with anothertargeted media content, the remote social graph configured to cause thesmart media device to output the another targeted media content.
 20. Themethod of claim 13, further comprising: identifying another smart mediadevice as being associated with a member of a user's social network; andsending a control signal to the another smart media device using aremote server, the control signal configured to cause the another smartmedia device to output the targeted media content.